import { http } from '@/utils/request.js'; // 引入封装的请求函数
import { setToken} from "./auth";

export const login = () => {
    uni.showModal({
        title: '提示',
        content: '需要获取您的公开信息（微信头像、昵称），才能正常使用本功能。',
        success: (res) => {
            if (res.confirm) {
                // 用户同意授权
                uni.getUserProfile({
                    desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
                    success: (userRes) => {
                        // console.log('userRes', userRes)
                        // 登录
                        uni.login({
                            provider: "weixin",
                            onlyAuthorize: true, // 微信登录仅请求授权认证
                            success: (logginRes) => {
								// console.log(logginRes)
                                // 微信登录
                                http('/api/wxapp/auth/single', 'post', {
									code: logginRes.code
								}).then(authRes => {
                                    // console.log('authRes', authRes)
									if (authRes.status === 200) {
										uni.setStorageSync('wxUserInfo', userRes.userInfo);
                                        setToken('Bearer ' + authRes.data.token)
										uni.showToast({
											icon: 'success',
											title: '登录成功'
										})
									} else {
                                        uni.showToast({
                                        	icon: 'none',
                                        	title: authRes.msg
                                        })
                                    }
								})
                            },
                            fail: (err) => {
                                // 登录授权失败
                                // err.code是错误码
                            }
                        })
                    },
                    fail: () => {
                        // 用户拒绝授权
                        console.log('用户拒绝授权');
                    }
                });
            }
        }
    })
}